<?php
/**
 * DotHerbert
 *
 * @package    core
 * @copyright  2009 extreme-programmers
 * @license    http://dotherbert.extreme-programmers.com/license   BSD License
 * @version    $Id:$
 */

namespace dotherbert\core;

/**
 * Environment
 *
 * @package    core
 * @author     Johannes Trink <johannes.trink@extreme-programmers.com>
 */
class Environment
{
    /**
     * Application path
     *
     * @var string
     */
    private static $applicationPath;

    /**
     * Modules path
     *
     * @var string
     */
    private static $modulesPath;

    /**
     * Module name
     *
     * @var string
     */
    private static $moduleName;

    /**
     * Application environment
     *
     * @var string
     */
    private static $applicationEnvironment;

    /**
     * Set application path
     *
     * @param string $path
     */
    public static function setApplicationPath($path)
    {
        self::$applicationPath = $path;
    }

    /**
     * Get application path
     *
     * @return string
     */
    public static function getApplicationPath()
    {
        return self::$applicationPath;
    }

    /**
     * Set modules path
     *
     * @param string $path
     */
    public static function setModulesPath($path)
    {
        self::$modulesPath = $path;
    }

    /**
     * Get modules path
     *
     * @return string
     */
    public static function getModulesPath()
    {
        return self::$modulesPath;
    }

    /**
     * Set module name
     *
     * @param string $moduleName
     * @return void
     */
    public static function setModuleName($moduleName)
    {
        self::$moduleName = $moduleName;
    }

    /**
     * Get module name
     *
     * @return string
     */
    public static function getModuleName()
    {
        return self::$moduleName;
    }

    /**
     * Set application environment
     *
     * @param string $environment
     * @return void
     */
    public static function setApplicationEnvironment($environment)
    {
        self::$applicationEnvironment = $environment;
    }

    /**
     * Get application environment
     *
     * @return string
     */
    public static function getApplicationEnvironment()
    {
        return self::$applicationEnvironment;
    }

    /**
     * Reset
     *
     * @return void
     */
    public static function reset()
    {
        self::$applicationPath = null;
        self::$modulesPath = null;
        self::$moduleName = null;
        self::$applicationEnvironment = null;
    }
}